package com.bytz.modules.cms.order.model;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.bytz.common.aspect.annotation.Dict;
import com.bytz.modules.cms.common.excel.ExcelDictConvert;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
@ExcelIgnoreUnannotated
public class OrderExcel {

    @ExcelProperty("*合同号")
    private String contractNumber;

    @ExcelProperty("*经销商名")
    private String resellerName;

    @ApiModelProperty("经销商Id")
    private String resellerId;

    @ExcelProperty("*产品线")
    private String productLineCode;

    @ExcelProperty(value = "*订单类别", converter = ExcelDictConvert.class)
    @Dict(dicCode = "mall_order_type")
    private String orderType;

    @ExcelProperty("项目名称")
    private String projectName;

    @ExcelProperty(value = "*订单状态", converter = ExcelDictConvert.class)
    @Dict(dicCode = "mall_order_status")
    private String status;

    @ExcelProperty("*订单总额")
    private BigDecimal totalPrice;

    @ExcelProperty("*已支付金额")
    private BigDecimal paidPrice;

    @ExcelProperty("需方订单号")
    private String orderNumber;

    @ExcelProperty("*需方客户编码")
    private String demanderNumber;

    @ExcelProperty("需方委托代理人")
    private String demanderAgent;

    @ExcelProperty("需方邮政编码")
    private String demanderPostcode;

    @ExcelProperty("需方传真")
    private String demanderFax;

    @ExcelProperty("订单提交日期")
    private LocalDateTime demanderSignedDate;

    @ExcelProperty("*销售")
    private String salesName;

    @ExcelProperty("期望交付计划")
    private String deliveryPlan;

    @ExcelProperty("*shipTo编码")
    private String shipToNumber;

    @ExcelProperty("shipTo名称")
    private String shipToName;

    @ExcelProperty("shipTo地址")
    private String shipToAddress;

    @ExcelProperty("shipTo联系人")
    private String shipToContact;

    @ExcelProperty("shipTo联系人电话")
    private String shipToPhone;

    @ExcelProperty("*终端客户编码")
    private String endUserNumber;

    @ExcelProperty("质保期（月）")
    private String warrantyPeriod;

    @ExcelProperty("*预付比例")
    private BigDecimal prepayRatio;

    @ExcelProperty("到货情况")
    private String arrivalStatus;

    @ExcelProperty("备注")
    private String remark;

    @ExcelProperty("c4c机会id")
    private String opportunityId;

    @ExcelProperty("c4c机会名称")
    private String opportunityName;

    @ExcelProperty("c4c机会object id")
    private String opportunityObjectId;
}
